Extracts the specified frames from the input stream, and saves them to a new JPEG 2000 file in a Leadtools.RasterNativeBuffer object. This method is available in the Document/Medical Toolkits.
public RasterNativeBuffer ExtractFramesNativeMemory(
Stream stream,
List<int> frames
)
Public Overloads Function ExtractFramesNativeMemory( _
ByVal stream As Stream, _
ByVal frames As List(Of Integer) _
) As RasterNativeBuffer
public:
RasterNativeBuffer ExtractFramesNativeMemory(
Stream^ stream,
List<int>^ frames
)
stream
A System.IO.Stream containing the JPEG 2000 file data from which frames are being extracted.
frames
Frame indices. A list of integers specifying the indices of the frames to be extracted from the input stream. All indices should be 0-based.
A Leadtools.RasterNativeBuffer object that contains a JPEG 2000 file with only the extracted frames.
. This file contains only the extracted frame headers/code streams (not any obtained through the decompressing/recompressing process) so it saves processor time and memory.
This method is very suitable for server applications where multiple clients request specific frames of a JPEG 2000 file.Instead of decompressing and then recompressing the frames this method copies only the needed frame data, saving the data to a new JPEG 2000 file.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Jpeg2000;
public RasterNativeBuffer ExtractFramesNativeMemoryStreamExample(List<int> frames)
{
FileStream fs = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"));
Jpeg2000Engine engine = new Jpeg2000Engine();
Jpeg2000FileInformation fileInfo = engine.GetFileInformation(fs);
for (int i = 0; i < frames.Count; i++)
if (frames[i] >= fileInfo.Frame.GetLength(0))
return RasterNativeBuffer.Empty;
RasterNativeBuffer buffer = engine.ExtractFramesNativeMemory(fs, frames);
// Clean up
fs.Close();
return buffer;
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Jpeg2000
Private Function ExtractFramesNativeMemoryStreamExample(ByVal frames As List(Of Integer)) As RasterNativeBuffer
Dim fs As FileStream = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"))
Dim engine As New Jpeg2000Engine()
Dim fileInfo As Jpeg2000FileInformation = engine.GetFileInformation(fs)
For i As Integer = 0 To frames.Count - 1
If (frames(i) >= fileInfo.Frame.GetLength(0)) Then
Return RasterNativeBuffer.Empty
End If
Next i
Dim buffer As RasterNativeBuffer = engine.ExtractFramesNativeMemory(fs, frames)
' Clean up
fs.Close()
Return buffer
End Function
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
ExtractFramesNativeMemory(String, List)
Compression Using LEAD and JPEG Formats
File Formats - JPEG And LEAD Compressed
Bitmaps In Memory And In Files
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.